

var Hogan = require('hogan.js');

var conf = {
    serverHost : ''
};

var _mm = {
    request : function(param){
        var _this = this;
        $.ajax({
            type        : param.method  || 'get',
            url         : param.url || '',
            dataType    : param.type || 'json',
            data        : param.data || '',
            success     : function(res){
                if(0 === res.status){
                    // 请求成功
                    typeof param.success === 'function' && param.success(res);
                }else if(10 === res.status){
                    // 没有登陆状态 需要强制登陆
                    _this.doLogin();
                }else if(1 === res.status){
                    // 请求数据错误
                    typeof param.error === 'function' && param.error(res.msg);
                }
            },
            error       : function(err){
                typeof param.error === 'function' && param.error(err.status);
            }
        })

    },
    // 获取服务器地址
    getServerUrl : function(path){
        return conf.serverHost + path;
    },
    // 获取 url 参数 
    getUrlParam : function(name){
        // happymmall.com/product/list.do?keyword=1&page=1
        var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
        var result = window.location.search.substr(1).match(reg);
        return result ? decodeURIComponent(result[2]) : null;
    },
    // 渲染html
    renderHtml : function(htmlTemplate, data){
        var template = Hogan.compile(htmlTemplate);
        var result = template.render(data);
        return result;

    },
    // 成功提示 
    successTips : function(msg){
        alert(msg || '操作成功');
    },
    // 错误提示 
    errorTips : function(msg){
         alert(msg || '那里不对了～')
    },
    // 字段验证，支持是否为空、手机、邮箱
    validate : function(value, type){
        var value = $.trim(value);
        // 非空验证,是否为空 空-true，非空-false
        if('require' === type){
            return !!value;
        }
        // 验证手机号
        if('phone' === type){
            return /^1d{10}$/.test(value);
        } 
        // 邮箱格式验证
        if('email' === type){
            return  /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(value);
        }
    },
    // 统一登陆请求
    doLogin : function(){
        window.location.href = './login.html?redirect=' + encodeURIComponent(window.location.href);
    },
    // 返回主页
    goHome : function(){
        window.location.href = './index.html'
    },
};

module.exports = _mm;